//
// Created by Zhangwj on 2023/9/26.
//

#ifndef COMPILE_TASK2_INITVALNODE_H
#define COMPILE_TASK2_INITVALNODE_H


#include "SyntaxTreeNode.h"
#include "../Parser.h"
#include "ExpNode.h"

class InitValNode : public SyntaxTreeNode {
public:
    //InitVal → Exp | '{' [ InitVal { ',' InitVal } ] '}'
    std::unique_ptr<ExpNode> Exp;
    std::vector<std::unique_ptr<InitValNode>> InitVals;

    static std::unique_ptr<InitValNode> InitValParser(Parser &parser);
};


#endif //COMPILE_TASK2_INITVALNODE_H
